setwd("D:/浏览器下载/data for class3")
x=list.files("GSE67835")#获取所有文件名
x1=list.files("GSE67835",pattern = "txt")#获取txt文件名
setwd("GSE67835")

 F1=read.csv(x[2],header =FALSE,sep="" )
 colnames(F1)[2]=substring(x[2],1,10) #读取所有csv文件并合并
 
    for(i in 3:139)
   {
      file1=read.csv(x[i],header =FALSE,sep="")
      colnames(file1)[2]=substring(x[i],1,10)
      F1=merge(F1,file1,by.x="V1",by.y = "V1")
    }
 
 A=read.table(x1,skip = 36,nrows = 20) #选择性读取txt文件
 
 B=A[c(1,9:11),]#选择A中需要的行
 colnames(B)=B[1,]#将第一行设为列名并删除原来的行
 B=B[-1,]
 colnames(B)[1]="V1"  #改变第一列的列名
row.names(B)=B$V1  #将第一列变成行名并删除原来的列（这里因为原来表格中第一列的三个值是一样的，但是R不允许有重复的行名，所以在原表格里把第一列的三个值做了修改）
row.names(B)=c("tissue","cell type","age")
B=B[,-1]

B=cbind(V1=row.names(B), B)#将行名变成第一列

row.names(data)=NULL
library("plyr")#合并两个表，plyr可以智能合并，不需要两个表具有同样的列数
 C=rbind.fill(F1,B)
 library("openxlsx")#输出为excel文件
 write.xlsx(C,file = "D:/浏览器下载/data for class3/newfile4.xlsx")

 
 D=read.csv("D:/浏览器下载/data for class3/newfile2.csv")#读取上次实验所合并的文件
 rownames(D)=D$Row.names##将第一列变成行名并删除原来的列
D=D[,-1:-2]#需要删除两列

 result4=apply(D, 1, function(x){sum(x==0)})#计算每行的缺失值
 print(result4)
 result5=apply(D, 2, function(x){sum(x==0)})#计算每列的缺失值
 print(result5)